// ============================================================ //
// ============================================================ //
//
// @Group       : QiXin Supply Chain Team
// @Author      : ZhiQiang Cheng
// @Date        : 2024-07-15
// @Description : 通用工具库
//
// ============================================================ //
// ============================================================ //

package utils

import (
	"encoding/json"
)

// ============================================================ //
// 转换图片链接
// ============================================================ //

type productImage struct {
	Source    string `json:"source"`
	Large     string `json:"large"`
	Medium    string `json:"medium"`
	Thumbnail string `json:"thumbnail"`
	Order     int    `json:"order"`
}

func ConvertImageUrl(productImages string) string {
	var images []productImage
	if err := json.Unmarshal([]byte(productImages), &images); err != nil {
		return ""
	}
	if len(images) > 0 {
		return images[0].Source
	}
	return ""
}

// ============================================================ //
// 用户名脱敏
// ============================================================ //

func DesensitizationUsername(username string) string {
	if len(username) > 0 {
		var before string
		var after string
		winnerName := []rune(username)
		switch len(winnerName) {
		case 1:
			before = string(winnerName)
		case 2, 3:
			before = string(winnerName[0:1])
			after = string(winnerName[len(winnerName)-1:])
		default:
			before = string(winnerName[0:2])
			after = string(winnerName[len(winnerName)-2:])
		}
		res := before + "***" + after
		return res
	}
	return ""
}
